排列数

题目 排列数

image-3cd8ceb7

思路分析

image-77ce542a image-6c79bbc5

感觉太暴力了 但想不到优化的点

不知道能过几个

emm只能过1个 你还是我熟悉的蓝桥杯吗

正解是dp emm 没看出来 虽然模拟案例时感觉有规律 但没看清楚

uid2178646-20230427-1682580720340-5aae9293

无所谓 两分也是分

代码实现

#include <bits/stdc++.h>
using namespace std;
#define endl '\n'

vector<int> a;
int n,k;

int main() {
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    cin>>n>>k;
    for(int i=1;i<=n;i++){
    	a.push_back(i);
	}
	int cnt=0;
   	do{
   		int points=0;
   		for(int i=1;i<n-1;i++){
   			if((a[i]>a[i-1] && a[i]>a[i+1]) || (a[i]<a[i-1] && a[i]<a[i+1]))
   				points++;
		}
		if(points==k-1)
			cnt++;
   	}while(next_permutation(a.begin(),a.end()));
	cout<<cnt;
    return 0;
}

同类题型

视频讲解


⬅️ 最优包含 🏠 00-冲刺国赛 ➡️ 解谜游戏